<?php
class Usuarios_InformacionparController extends Zend_Controller_Action {
	
	private $nav;
	private $codusuario;
	private $botones;
	private $array_tipos;
	private $ElementosForm;
	private $datos;
		
	public function init() {
		$sesionUsuario= new Zend_Session_Namespace("USUARIOS");
		$this->codusuario = $sesionUsuario->codusuario;

        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
		$this->datos = $ServiceUsuarios->cargarDatos ( $this->codusuario );
		
		$this->nav = new App_Util_Navegacion();
		$this->nav->agregar_navegacion("Información del usuario :: ".App_User::getNombreCompleto(), "");
		$this->view->nav = $this->nav;
		
		if (App_User::getCodigoUsuario() == $sesionUsuario->codusuario){
		
			$array_botones = array("index"=>"Datos personales","cuenta"=>"Datos de usuario","facademica"=>"Formación académica",
			                       "econtinuada"=>"Educación continuada","fevaluacion"=>"Formación en procesos de evaluación",
			                        "tacademica"=>"Trayectoria académica","eprofesional"=>"Ejercicio profesional","pintelectual"=>"Producción intelectual",
			                        "premios"=>"Premios y distinciones académicas","asociaciones"=>"Asociaciones científicas, académicas, artísticas y otras",
			                        "idiomas"=>"Idiomas","informacionadicional"=>"Información adicional","resumen"=>"Resumen");
		}else{
			$array_botones = array("index"=>"Datos personales","facademica"=>"Formación académica",
			                       "econtinuada"=>"Educación continuada","fevaluacion"=>"Formación en procesos de evaluación",
			                        "tacademica"=>"Trayectoria académica","eprofesional"=>"Ejercicio profesional","pintelectual"=>"Producción intelectual",
			                        "premios"=>"Premios y distinciones académicas","asociaciones"=>"Asociaciones científicas, académicas, artísticas y otras",
			                        "idiomas"=>"Idiomas","informacionadicional"=>"Información adicional","resumen"=>"Resumen");
		}
		
		$this->array_tipos = array(1=>"facademica",2=>"econtinuada",3=>"fevaluacion",4=>"tacademica",5=>"investigacion",6=>"extension",
		                           7=>"creacionartistica",8=>"organosacreditacion",9=>"eprofesional",10=>"pintelectual",11=>"premios",
		                           12=>"asociaciones",13=>"idiomas",14=>"informacionadicional");
		
		
		$this->botones = new App_Util_Botones();
		$boton = 0;
		foreach ($array_botones as $action =>$label) {
		    $this->botones->agregar($label,"/usuarios/informacionpar/{$action}","");
		    if ($boton <> 5){
    		    if (substr($this->datos["controldatoscna"],$boton,1)=="1"){
    		        $this->botones->checkear($label);
    		    }
		    }else{
		        if (substr($this->datos["controldatoscna"],$boton,5)=="11111"){
    		        $this->botones->checkear($label);
    		    }
		        $boton = $boton+4;
		    }
		    $boton++;
		}
		$this->view->botones = $this->botones;
		
		
        $this->ElementosForm[1] = array("codnivel","codclasificacionarea","nombreinstitucion","codinstitucion","tituloformacion","nombreformacion",
                               			"ubicacion","codubicacion","fechaformacion","archivo","coddocumento");
        $this->ElementosForm[2] = array("codnivelcontinuada","otronivelcontinuada","codclasificacionarea","nombreinstitucion","codinstitucion","tituloformacion","nombreformacion",
                               			"ubicacion","codubicacion","fechaformacion");
        $this->ElementosForm[3] = array("nombreinstitucion","codinstitucion","nombreformacion","ubicacion","codubicacion","fechaformacion","horascarga");
        $this->ElementosForm[4] = array("nombreinstitucion","codinstitucion","ubicacion","codubicacion","ultimacategoria","fechaingreso","fecharetiro",
        								"facultad","descripcion","dedicacion","porcentajededicacion","actualmente");
        
        $this->ElementosForm[5] = array("codclasificacionarea","descripcion","grupoinvestigacion","nombrecargo","nombreinstitucion","proyectos","financiacion");
        
        $this->ElementosForm[6] = array("codclasificacionarea","nombreinstitucion","ubicacion","codubicacion","fechaformacion","descripcion","nombrecargo","dedicacion","porcentajededicacion","financiacion","proyectos",
        								"actividades");
        $this->ElementosForm[7] = array("tituloformacion","nombreformacion","descripcion","financiacion");
        $this->ElementosForm[8] = array("fechaingreso","fecharetiro","actualmente","organo","otroorgano","cargo","descripcion");
        $this->ElementosForm[9] = array("nombreinstitucion","codinstitucion","ubicacion","codubicacion","fechaingreso","fecharetiro","descripcion","nombrecargo","dedicacion","porcentajededicacion","sectorproductivo","actualmente");
        $this->ElementosForm[10] = array("nombreformacion","fechaformacion","descripcion","tipoproduccion","otraproduccion");
        $this->ElementosForm[11] = array("nombreinstitucion","nombreformacion","fechaformacion","descripcion");
        $this->ElementosForm[12] = array("nombreformacion","fechaingreso","fecharetiro","descripcion","tipoasociacion","otraasociacion","actualmente");
        $this->ElementosForm[14] = array("descripcion");
        
	    $this->_readonly = false;
	    
		if (App_User::getCodigoUsuario() != $this->codusuario){
			$this->_readonly = true;
			$this->_helper->layout()->setLayout("popup");
		}
		
		$this->view->readonly = $this->_readonly;
	}
	
	public function indexAction() {
        $this->view->botones->actual("Datos personales");
//        $this->view->botones->checkear("Datos personales");
        
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
//		$datos = $ServiceUsuarios->cargarDatos ( $this->codusuario );

        $datos = $this->datos;
        if (App_User::getCodigoPadreRol() != Roles_Model_Roles::CODPADRE_IES){
    		$datos_bancarios = $ServiceUsuarios->getDatosBancarios( $this->codusuario );
    		if ($datos_bancarios){
    		    $datos["codcuenta"] = $datos_bancarios["codcuenta"];
    		    $datos["codbanco"] = $datos_bancarios["codbanco"];
    		    $datos["numero"] = $datos_bancarios["numero"];
    		    $datos["tipo"] = $datos_bancarios["tipo"];
    		    $datos["codubicacionbanco"] = $datos_bancarios["codubicacionbanco"];
    		}
        }
		$entidadesBancarias = $ServiceUsuarios->getEntidadesBancarias();
		
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$ubicacion= new Generales_Model_Ubicaciongeografica();
		if (!empty($datos["codubicacion"])){
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
		}
		
		$autoCompleteUbicacion2 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacionnacimiento");
		$this->view->autoCompleteUbicacion2=$autoCompleteUbicacion2;

		if (!empty($datos["codubicacionnacimiento"])){
		    $datosubicacion2= $ubicacion->cargarDatos($datos["codubicacionnacimiento"]);
		    $datos["ubicacionnacimiento"]=$datosubicacion2["ubicacion"];
		}
	    
		$autoCompleteUbicacion3 = new App_Util_AutoCompletar("/generales/ubicacion/autolista","ubicacionbanco");
		$this->view->autoCompleteUbicacion3=$autoCompleteUbicacion3;

		if (!empty($datos["codubicacionbanco"])){
		    $datosubicacion3= $ubicacion->cargarDatos($datos["codubicacionbanco"]);
		    $datos["ubicacionbanco"]=$datosubicacion3["ubicacion"];
		}
		
        $form = new Usuarios_Form_ParPersonales(array("EntidadesBancarias"=>$entidadesBancarias));
        $form->recoverFromRedirect();
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarbasica") );
        $form->populate($datos);
        $form->makeStatic($this->_readonly);
        
        $fechanacimiento = new Zend_Date($datos["fechanacimiento"]);
		$fechacapacitacion = new Zend_Date($datos["fechacapacitacion"]);
		$fechadesignacionpar = new Zend_Date($datos["fechadesignacionpar"]);
		$appConfig = Zend_Registry::get( "appConfig" );
		$form->getElement("fechanacimiento")->setValue($fechanacimiento->toString($appConfig->fecha_formato_mostrar));
		$form->getElement("fechacapacitacion")->setValue($fechacapacitacion->toString($appConfig->fecha_formato_mostrar));
		$form->getElement("fechadesignacionpar")->setValue($fechadesignacionpar->toString($appConfig->fecha_formato_mostrar));
			        
		
        $paramsImage=App_Util_SafeUrl::encriptar(array("file"=>$datos["fotocna"]),true);
        $rutaimg = Zend_Controller_Front::getInstance ()->getBaseUrl()."/generales/archivo/image/{$paramsImage}";
        if (empty($datos["fotocna"])){
            $paramsImage=App_Util_SafeUrl::encriptar(array("file"=>"sinfoto.png"),true);
            $rutaimg = Zend_Controller_Front::getInstance ()->getBaseUrl()."/generales/archivo/image/{$paramsImage}";
        }
        
        $form = str_replace("RUTA_FOTO",$rutaimg,$form);
        $this->view->form = $form;
	}

	public function guardarbasicaAction() {
	    $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
	    $entidadesBancarias = $ServiceUsuarios->getEntidadesBancarias();
	    $form = new Usuarios_Form_ParPersonales(array("EntidadesBancarias"=>$entidadesBancarias));
		if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
			try {
			    $datos = $form->getValues ();
			    
				$datos_adj = $form->archivo->getFileInfo();
			    if (!empty($datos_adj["archivo"]["name"])){
				    $ext = pathinfo( $datos_adj["archivo"]["name"], PATHINFO_EXTENSION );
				    $nuevo_nombre = App_User::getCodigoUsuario().App_User::getNombreUsuario().".".$ext;
				    @unlink($form->archivo->getDestination()."/".$nuevo_nombre);
			        $form->archivo->addFilter('Rename', array('target'=>$form->archivo->getDestination(). "/{$nuevo_nombre}" ));
					if ($form->archivo->receive()) {
                        $datos["fotocna"] = $nuevo_nombre;
					}
			    }
			    $ServiceUsuarios->guardarUsuario( $datos);
			    $datos_bancarios["codcuenta"] = $datos["codcuenta"];
			    $datos_bancarios["codusuario"] = $datos["codusuario"];
			    $datos_bancarios["codbanco"] = $datos["codbanco"];
			    $datos_bancarios["numero"] = $datos["numero"];
			    $datos_bancarios["tipo"] = $datos["tipo"];
			    $datos_bancarios["codubicacionbanco"] = $datos["codubicacionbanco"];
			    $ServiceUsuarios->guardarDatosBancarios($datos_bancarios);
				$this->view->priorityMessenger("Los datos se han guardado correctamente", "success");
			} catch (Exception $e) {
				$this->view->priorityMessenger($e->getMessage(), "error");
			}
        } else {
            $form->setStateRedirect();
        }
        $this->_helper->redirector("index");
	}
	
	public function cuentaAction() {
		$this->view->botones->actual("Datos de usuario");
		$form = new Usuarios_Form_RenovarClave();
		$form->makeStatic($this->_readonly);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardardatoscuenta") );
        
//        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        $form->recoverFromRedirect();
//		$datos = $ServiceUsuarios->cargarDatos ( $this->codusuario );
        $datos = $this->datos;
		$form->populate ($datos);
		$this->view->form = $form;
		$this->view->datosusuario = $datos;
	}
	
	public function guardardatoscuentaAction(){
	    $form = new Usuarios_Form_RenovarClave();
		if($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
			if($form->getValue("clave") != $form->getValue("reclave")) {
				$form->getElement("clave")->addError("Las claves no concuerdan");
			} else {
				try {
					$seguridad = new Usuarios_Model_Seguridad();
					$seguridad->actualizarClave($form->getValue("codusuario"), $form->getValue("clave"),
												$form->getValue("preguntasecreta"), $form->getValue("respuestasecreta"));
					
					$this->view->priorityMessenger("Los datos se han guardado correctamente", "success");
					
				} catch (Exception $e) {
					$this->view->priorityMessenger($e->getMessage(), 'error');
				}
			}
		} else {
			$form->setStateRedirect();
		}
		$this->_helper->redirector("cuenta");
	}

	public function facademicaAction() {
		$this->view->botones->actual("Formación académica");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
		    
		    if (!empty($datos["codubicacion"])){
	            $ubicacion= new Generales_Model_Ubicaciongeografica();
		        $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		        $datos["ubicacion"]=$datosubicacion1["ubicacion"];
		    }
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[1],
                                                       "Tipo"=>1));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
		
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
//		if (!empty($datos["coddocumento"])){
//		    $adjuntoTable = new Generales_Model_Documentos();
//		    $datos_adjunto = $adjuntoTable->cargarDatos($datos["coddocumento"]);
//		    Zend_Debug::dump($datos_adjunto);
//		}
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 1;
        $form->populate ($datos);
        
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        
        
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaformacion"])){
            $fechaformacion = new Zend_Date($datos["fechaformacion"]);
		    $form->getElement("fechaformacion")->setValue($fechaformacion->toString($appConfig->fecha_formato_mostrar));
        }
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(1,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,1);
		
	}
	
	public function econtinuadaAction() {
		$this->view->botones->actual("Educación continuada");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>array(),
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[2],
                                                       "Tipo"=>2));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
		
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 2;
        $form->populate ($datos);
        
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
		        
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaformacion"])){
            $fechaformacion = new Zend_Date($datos["fechaformacion"]);
		    $form->getElement("fechaformacion")->setValue($fechaformacion->toString($appConfig->fecha_formato_mostrar));
        }
        $form->getElement("tituloformacion")->setLabel("Nombre de la actividad de formación");
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(2,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,2);
	}
	
	public function fevaluacionAction() {
		$this->view->botones->actual("Formación en procesos de evaluación");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[3],
                                                       "Tipo"=>3));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
				
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 3;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
		        
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaformacion"])){
            $fechaformacion = new Zend_Date($datos["fechaformacion"]);
		    $form->getElement("fechaformacion")->setValue($fechaformacion->toString($appConfig->fecha_formato_mostrar));
        }
        $form->getElement("nombreformacion")->setLabel("Capacitación");
        $form->getElement("fechaformacion")->setLabel("Fecha de realización");
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(3,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,3);
	}

	public function tacademicaAction() {
		$this->view->botones->actual("Trayectoria académica");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[4],
                                                       "Tipo"=>4));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
		
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 4;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaingreso"])){
            $fechaingreso = new Zend_Date($datos["fechaingreso"]);
		    $form->getElement("fechaingreso")->setValue($fechaingreso->toString($appConfig->fecha_formato_mostrar));
        }
        if (!empty($datos["fecharetiro"])){
            $fecharetiro = new Zend_Date($datos["fecharetiro"]);
		    $form->getElement("fecharetiro")->setValue($fecharetiro->toString($appConfig->fecha_formato_mostrar));
        }
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(4,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,4);
		
        $botones_horizontales = new App_Util_Botones();
	    $botones_horizontales->agregar("Docencia","/usuarios/informacionpar/tacademica","");
	    $botones_horizontales->agregar("Investigación","/usuarios/informacionpar/investigacion","");
	    $botones_horizontales->agregar("Extensión","/usuarios/informacionpar/extension","");
	    $botones_horizontales->agregar("Creación artística","/usuarios/informacionpar/creacionartistica","");
	    $botones_horizontales->agregar("Órganos de acreditación","/usuarios/informacionpar/organosacreditacion","");

	    if (substr($this->datos["controldatoscna"],5,1)=="1"){
		    $botones_horizontales->checkear("Docencia");
		}
	    if (substr($this->datos["controldatoscna"],6,1)=="1"){
		    $botones_horizontales->checkear("Investigación");
		}
	    if (substr($this->datos["controldatoscna"],7,1)=="1"){
		    $botones_horizontales->checkear("Extensión");
		}
	    if (substr($this->datos["controldatoscna"],8,1)=="1"){
		    $botones_horizontales->checkear("Creación artística");
		}
	    if (substr($this->datos["controldatoscna"],9,1)=="1"){
		    $botones_horizontales->checkear("Órganos de acreditación");
		}
	    
		$this->view->botones_horizontales = $botones_horizontales;
		$this->view->botones_horizontales->actual("Docencia");
	}
		
	public function investigacionAction() {
		$this->view->botones->actual("Trayectoria académica");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[5],
                                                       "Tipo"=>5));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
		
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 5;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        $form->getElement("descripcion")->setLabel("Campo específico de trabajo");
              
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(5,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,5);
		
        $botones_horizontales = new App_Util_Botones();
	    $botones_horizontales->agregar("Docencia","/usuarios/informacionpar/tacademica","");
	    $botones_horizontales->agregar("Investigación","/usuarios/informacionpar/investigacion","");
	    $botones_horizontales->agregar("Extensión","/usuarios/informacionpar/extension","");
	    $botones_horizontales->agregar("Creación artística","/usuarios/informacionpar/creacionartistica","");
	    $botones_horizontales->agregar("Órganos de acreditación","/usuarios/informacionpar/organosacreditacion","");

		if (substr($this->datos["controldatoscna"],5,1)=="1"){
		    $botones_horizontales->checkear("Docencia");
		}
	    if (substr($this->datos["controldatoscna"],6,1)=="1"){
		    $botones_horizontales->checkear("Investigación");
		}
	    if (substr($this->datos["controldatoscna"],7,1)=="1"){
		    $botones_horizontales->checkear("Extensión");
		}
	    if (substr($this->datos["controldatoscna"],8,1)=="1"){
		    $botones_horizontales->checkear("Creación artística");
		}
	    if (substr($this->datos["controldatoscna"],9,1)=="1"){
		    $botones_horizontales->checkear("Órganos de acreditación");
		}
			    
		$this->view->botones_horizontales = $botones_horizontales;
		$this->view->botones_horizontales->actual("Investigación");
	}
	
	public function extensionAction() {
		$this->view->botones->actual("Trayectoria académica");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[6],
                                                       "Tipo"=>6));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
				
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 6;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaformacion"])){
            $fechaformacion = new Zend_Date($datos["fechaformacion"]);
		    $form->getElement("fechaformacion")->setValue($fechaformacion->toString($appConfig->fecha_formato_mostrar));
        }
        $form->getElement("descripcion")->setLabel("Campo específico de trabajo");
        $form->getElement("fechaformacion")->setLabel("Fecha : ");
        $form->getElement("nombreinstitucion")->setLabel("Entidad : ");
              
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(6,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,6);
		
        $botones_horizontales = new App_Util_Botones();
	    $botones_horizontales->agregar("Docencia","/usuarios/informacionpar/tacademica","");
	    $botones_horizontales->agregar("Investigación","/usuarios/informacionpar/investigacion","");
	    $botones_horizontales->agregar("Extensión","/usuarios/informacionpar/extension","");
	    $botones_horizontales->agregar("Creación artística","/usuarios/informacionpar/creacionartistica","");
	    $botones_horizontales->agregar("Órganos de acreditación","/usuarios/informacionpar/organosacreditacion","");

	    if (substr($this->datos["controldatoscna"],5,1)=="1"){
		    $botones_horizontales->checkear("Docencia");
		}
	    if (substr($this->datos["controldatoscna"],6,1)=="1"){
		    $botones_horizontales->checkear("Investigación");
		}
	    if (substr($this->datos["controldatoscna"],7,1)=="1"){
		    $botones_horizontales->checkear("Extensión");
		}
	    if (substr($this->datos["controldatoscna"],8,1)=="1"){
		    $botones_horizontales->checkear("Creación artística");
		}
	    if (substr($this->datos["controldatoscna"],9,1)=="1"){
		    $botones_horizontales->checkear("Órganos de acreditación");
		}
		$this->view->botones_horizontales = $botones_horizontales;
		$this->view->botones_horizontales->actual("Extensión");
	}

	public function creacionartisticaAction() {
		$this->view->botones->actual("Trayectoria académica");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[7],
                                                       "Tipo"=>7));
		
		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
				
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 7;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $form->getElement("nombreformacion")->setLabel("Tipo de obra (Escultura, pintura, etc.) : ");
        $form->getElement("tituloformacion")->setLabel("Nombre de la obra : ");
        $form->getElement("descripcion")->setLabel("Descripción : ");
              
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(7,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,7);
		
        $botones_horizontales = new App_Util_Botones();
	    $botones_horizontales->agregar("Docencia","/usuarios/informacionpar/tacademica","");
	    $botones_horizontales->agregar("Investigación","/usuarios/informacionpar/investigacion","");
	    $botones_horizontales->agregar("Extensión","/usuarios/informacionpar/extension","");
	    $botones_horizontales->agregar("Creación artística","/usuarios/informacionpar/creacionartistica","");
	    $botones_horizontales->agregar("Órganos de acreditación","/usuarios/informacionpar/organosacreditacion","");
	    
		if (substr($this->datos["controldatoscna"],5,1)=="1"){
		    $botones_horizontales->checkear("Docencia");
		}
	    if (substr($this->datos["controldatoscna"],6,1)=="1"){
		    $botones_horizontales->checkear("Investigación");
		}
	    if (substr($this->datos["controldatoscna"],7,1)=="1"){
		    $botones_horizontales->checkear("Extensión");
		}
	    if (substr($this->datos["controldatoscna"],8,1)=="1"){
		    $botones_horizontales->checkear("Creación artística");
		}
	    if (substr($this->datos["controldatoscna"],9,1)=="1"){
		    $botones_horizontales->checkear("Órganos de acreditación");
		}
		
		$this->view->botones_horizontales = $botones_horizontales;
		$this->view->botones_horizontales->actual("Creación artística");
	}

	public function organosacreditacionAction() {
		$this->view->botones->actual("Trayectoria académica");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[8],
                                                       "Tipo"=>8));
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 8;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(8,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$appConfig = Zend_Registry::get( "appConfig" );
		if (!empty($datos["fechaingreso"])){
            $fechaingreso = new Zend_Date($datos["fechaingreso"]);
		    $form->getElement("fechaingreso")->setValue($fechaingreso->toString($appConfig->fecha_formato_mostrar));
        }
        if (!empty($datos["fecharetiro"])){
            $fecharetiro = new Zend_Date($datos["fecharetiro"]);
		    $form->getElement("fecharetiro")->setValue($fecharetiro->toString($appConfig->fecha_formato_mostrar));
        }
        $form->getElement("descripcion")->setLabel("Si considera necesario describa las funciones desarrolladas en el cargo seleccionado : ");
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,8);
		
        $botones_horizontales = new App_Util_Botones();
	    $botones_horizontales->agregar("Docencia","/usuarios/informacionpar/tacademica","");
	    $botones_horizontales->agregar("Investigación","/usuarios/informacionpar/investigacion","");
	    $botones_horizontales->agregar("Extensión","/usuarios/informacionpar/extension","");
	    $botones_horizontales->agregar("Creación artística","/usuarios/informacionpar/creacionartistica","");
	    $botones_horizontales->agregar("Órganos de acreditación","/usuarios/informacionpar/organosacreditacion","");
	    
		if (substr($this->datos["controldatoscna"],5,1)=="1"){
		    $botones_horizontales->checkear("Docencia");
		}
	    if (substr($this->datos["controldatoscna"],6,1)=="1"){
		    $botones_horizontales->checkear("Investigación");
		}
	    if (substr($this->datos["controldatoscna"],7,1)=="1"){
		    $botones_horizontales->checkear("Extensión");
		}
	    if (substr($this->datos["controldatoscna"],8,1)=="1"){
		    $botones_horizontales->checkear("Creación artística");
		}
	    if (substr($this->datos["controldatoscna"],9,1)=="1"){
		    $botones_horizontales->checkear("Órganos de acreditación");
		}
	    
		$this->view->botones_horizontales = $botones_horizontales;
		$this->view->botones_horizontales->actual("Órganos de acreditación");
	}

	public function eprofesionalAction() {
		$this->view->botones->actual("Ejercicio profesional");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
	        $ubicacion= new Generales_Model_Ubicaciongeografica();
		    $datosubicacion1= $ubicacion->cargarDatos($datos["codubicacion"]);
		    $datos["ubicacion"]=$datosubicacion1["ubicacion"];
        }
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[9],
                                                       "Tipo"=>9));

		$autoCompleteInstitucion = new App_Util_AutoCompletar("/instituciones/instituciones/autolista","nombreinstitucion","codinstitucion");
		$this->view->autoCompleteInstitucion=$autoCompleteInstitucion;
		
		$autoCompleteUbicacion1 = new App_Util_AutoCompletar("/generales/ubicacion/autolistapaises","ubicacion");
		$this->view->autoCompleteUbicacion1=$autoCompleteUbicacion1;
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 9;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaingreso"])){
            $fechaingreso = new Zend_Date($datos["fechaingreso"]);
		    $form->getElement("fechaingreso")->setValue($fechaingreso->toString($appConfig->fecha_formato_mostrar));
        }
        if (!empty($datos["fecharetiro"])){
            $fecharetiro = new Zend_Date($datos["fecharetiro"]);
		    $form->getElement("fecharetiro")->setValue($fecharetiro->toString($appConfig->fecha_formato_mostrar));
        }
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(9,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,9);
	}

	public function pintelectualAction() {
		$this->view->botones->actual("Producción intelectual");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
        }
        
        $form = new Usuarios_Form_InformacionPar(array("ElementosForm"=>$this->ElementosForm[10],
                                                       "Tipo"=>10));
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 10;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaformacion"])){
            $fechaformacion = new Zend_Date($datos["fechaformacion"]);
		    $form->getElement("fechaformacion")->setValue($fechaformacion->toString($appConfig->fecha_formato_mostrar));
        }
        $form->getElement("nombreformacion")->setLabel("Nombre de producto : ");
        $form->getElement("fechaformacion")->setLabel("Fecha de producto : ");
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(10,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,10);
	}
	
	public function premiosAction() {
		$this->view->botones->actual("Premios y distinciones académicas");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
        }
        
        $form = new Usuarios_Form_InformacionPar(array("ElementosForm"=>$this->ElementosForm[11],
                                                       "Tipo"=>11));
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 11;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaformacion"])){
            $fechaformacion = new Zend_Date($datos["fechaformacion"]);
		    $form->getElement("fechaformacion")->setValue($fechaformacion->toString($appConfig->fecha_formato_mostrar));
        }
        
        $form->getElement("nombreformacion")->setLabel("Nombre : ");
        $form->getElement("nombreinstitucion")->setLabel("Organo / Entidad que lo otorga : ");
        $form->getElement("fechaformacion")->setLabel("Fecha : ");
        $form->getElement("descripcion")->setLabel("Obtenido en mérito a : ");
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(11,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,11);
	}
	
	public function asociacionesAction() {
		$this->view->botones->actual("Asociaciones científicas, académicas, artísticas y otras");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
        }
        
        $form = new Usuarios_Form_InformacionPar(array("ElementosForm"=>$this->ElementosForm[12],
                                                       "Tipo"=>12));
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 12;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        $appConfig = Zend_Registry::get( "appConfig" );
        if (!empty($datos["fechaingreso"])){
            $fechaingreso = new Zend_Date($datos["fechaingreso"]);
		    $form->getElement("fechaingreso")->setValue($fechaingreso->toString($appConfig->fecha_formato_mostrar));
        }
        if (!empty($datos["fecharetiro"])){
            $fecharetiro = new Zend_Date($datos["fecharetiro"]);
		    $form->getElement("fecharetiro")->setValue($fecharetiro->toString($appConfig->fecha_formato_mostrar));
        }
        
        $form->getElement("nombreformacion")->setLabel("Nombre : ");
        $form->getElement("descripcion")->setLabel("Vinculado en calidad de : ");
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(12,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,12);
	}
		
	public function idiomasAction() {
		$this->view->botones->actual("Idiomas");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codidiomausuario = $this->_getParam("codidiomausuario");
        if (!empty($codidiomausuario)){
		    $datos = $ServiceUsuarios->getIdiomaPar( $codidiomausuario );
        }
        $idiomas = $ServiceUsuarios->getIdiomas();
        
        $form = new Usuarios_Form_IdiomasPar(array("Idiomas"=>$idiomas));
		
		$datos["codusuario"] = $this->codusuario;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaridiomapar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
        
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getIdiomasPar($this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$datos["tipo"] = 13;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,13);
	}
	
	public function informacionadicionalAction() {
		$this->view->botones->actual("Información adicional");
        $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        
        $codinformacion = $this->_getParam("codinformacion");
        if (!empty($codinformacion)){
		    $datos = $ServiceUsuarios->getDatosPar( $codinformacion );
        }
        
        $form = new Usuarios_Form_InformacionPar(array("ElementosForm"=>$this->ElementosForm[14],
                                                       "Tipo"=>14));
		
		$datos["codusuario"] = $this->codusuario;
		$datos["tipo"] = 14;
        $form->populate ($datos);
        $form->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardarinformacionpar") );
        $form->makeStatic($this->_readonly);
		$form->recoverFromRedirect();
		$this->view->form = $form;
		$this->view->informacionpar = $ServiceUsuarios->getInformacionPar(14,$this->codusuario);
		
		$form2 = new Usuarios_Form_Adjuntos();
		$form2->setAction ( $this->view->baseUrl("/usuarios/informacionpar/guardaradjuntopar") );
		$this->view->form2 = $form2;
		$form2->populate ($datos);
		$form2->makeStatic($this->_readonly);
		$this->view->adjuntos = $ServiceUsuarios->getAdjuntosPar($this->codusuario,14);
	}
	
	public function guardarinformacionparAction() {
	    $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        $tipo = $this->_getParam("tipo");
        
        $ServiceAreas = new Generales_Model_Areas();
        $AreasConocimiento = $ServiceAreas->getarrayAreas(-3);
        
        $ServiceNiveles = new Generales_Model_Niveles();
        $NivelesAcademicos = $ServiceNiveles->getarrayNiveles();
        
        $form = new Usuarios_Form_InformacionPar(array("NivelesAcademicos"=>$NivelesAcademicos,
        											   "AreasConocimiento"=>$AreasConocimiento,
                                                       "ElementosForm"=>$this->ElementosForm[$tipo],
                                                       "Tipo"=>$tipo));
        
		if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
		    $datos = $form->getValues ();
		    $requerido = false;
		    		    
//		    if($tipo!=8 && empty($datos["descripcion"])) {
//			    $form->getElement("descripcion")->addError("Es requerido, no puede estar vacío");
//			    $requerido = true;
//		    }
		    if(isset($datos["fecharetiro"]) && empty($datos["fecharetiro"]) && $datos["actualmente"]=="N") {
			    $form->getElement("fecharetiro")->addError("Es requerido, no puede estar vacío");
			    $requerido = true;
		    }
		    if(isset($datos["codnivelcontinuada"]) && $datos["codnivelcontinuada"]==6 && empty($datos["otronivelcontinuada"])) {
			    $form->getElement("otronivelcontinuada")->addError("Es requerido, no puede estar vacío");
			    $requerido = true;
		    }
		    if(isset($datos["tipoproduccion"]) && $datos["tipoproduccion"]==10 && empty($datos["otraproduccion"])) {
			    $form->getElement("otraproduccion")->addError("Es requerido, no puede estar vacío");
			    $requerido = true;
		    }
		    if(isset($datos["tipoasociacion"]) && $datos["tipoasociacion"]==5 && empty($datos["otraasociacion"])) {
			    $form->getElement("otraasociacion")->addError("Es requerido, no puede estar vacío");
			    $requerido = true;
		    }
		    if(empty($datos["coddocumento"]) && isset($datos["archivo"])&& empty($datos["archivo"])) {
			    $form->getElement("archivo")->addError("Es requerido, no puede estar vacío");
			    $requerido = true;
		    }
		    if (isset($datos["fecharetiro"]) && $datos["actualmente"]=="S"){
		        $datos["fecharetiro"] = null;
		    }
			if ($requerido){
				$form->setStateRedirect();
			} else {
				try {
				    if (isset($datos["otroorgano"])){
				        $datos["otroorgano"] = ($datos["organo"]==3)?$datos["otroorgano"]:NULL;
				    }
				    if (isset($datos["nombreinstitucion"])){
				        //$datos["codubicacion"] = 0;
				        if(stristr($datos["nombreinstitucion"], ' @ ') === FALSE) {
				            unset($datos["codinstitucion"]);
	                    }else{
	                        list( $nombreinstitucion, $ubicacion ) = split( '@', $datos["nombreinstitucion"] );
	                        $datos["nombreinstitucion"] = $nombreinstitucion;
	                        list( $codinstitucion, $codubicacion ) = split( '@', $datos["codinstitucion"] );
	                        $datos["codinstitucion"] = intval($codinstitucion);
	                        $datos["codubicacion"] = intval($codubicacion);
	                    }
				    }
				    if (isset($datos["fecharetiro"]) && $datos["actualmente"]=="S"){
				        unset($datos["fecharetiro"]);
				    }
				    
				    if ( isset($datos["codubicacion"]) && empty($datos["codubicacion"])){
				    	$datos["codubicacion"] = 0;
				    }
				    
				    if ($this->_getParam("tipo")==1){
        			    $datos_adj = $form->archivo->getFileInfo();
        			    $ext = pathinfo( $datos_adj["archivo"]["name"], PATHINFO_EXTENSION );
        			    $nuevo_nombre = md5( uniqid().$datos_adj["archivo"]["name"]).".".$ext;
        			    $form->archivo->addFilter('Rename', array('target'=>$form->archivo->getDestination(). "/{$nuevo_nombre}" ));
        			    
        			    if ($form->archivo->receive() && !empty($datos_adj["archivo"]["name"])) {
        			         $datos_archivo["nombrereal"]   = $datos_adj["archivo"]["name"];
        			         $datos_archivo["tipomime"]     = $datos_adj["archivo"]["type"];
        			         $datos_archivo["tamano"]       = $datos_adj["archivo"]["size"];
        			         $datos_archivo["nombrecodificado"] = $nuevo_nombre;
        			         $datos_archivo["codusuario"]   = App_User::getCodigoUsuario();
                             $adjuntoTable = new Generales_Model_Documentos();
                             
        			         if (!empty($datos["coddocumento"])){
				                $adjuntoTable-> eliminarDocumento($datos["coddocumento"]);
				             }
                             $datos["coddocumento"] = $adjuntoTable->guardarDocumento($datos_archivo);
        			    }
				    }
				    
	                $ServiceUsuarios->guardarDatosPar($datos);
					$this->view->priorityMessenger("Los datos se han guardado correctamente", "success");
				} catch (Exception $e) {
					$this->view->priorityMessenger($e->getMessage(), "error");
				}
			}
        } else {
            $datos = $form->getValues ();
            if(isset($datos["descripcion"]) && empty($datos["descripcion"])) {
			    $form->getElement("descripcion")->addError("Es requerido, no puede estar vacío");
            }
        	if(isset($datos["fecharetiro"]) && empty($datos["fecharetiro"]) && $datos["actualmente"]=="N") {
			    $form->getElement("fecharetiro")->addError("Es requerido, no puede estar vacío");
		    }
            $form->setStateRedirect();
        }
//        Zend_Debug::dump($datos);
//        exit();
        $this->_helper->redirector($this->array_tipos[$this->_getParam("tipo")]);
	}
	
  public function eliminarinformacionparAction(){
  	      try {
			  $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
			  $ServiceUsuarios->eliminarDatosPar($this->_getParam("codinformacion"));
			  $this->view->priorityMessenger("El registro se eliminó correctamente", "success");
          } catch (Exception $e) {
			  $this->view->priorityMessenger($e->getMessage(), "error");
		  }
		$this->_helper->redirector($this->array_tipos[$this->_getParam("tipo")]);
	}

    public function guardaradjuntoparAction(){
        $form = new Usuarios_Form_Adjuntos();
        if($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())){
			try {
			    $datos_adj = $form->archivo->getFileInfo();
			    $ext = pathinfo( $datos_adj["archivo"]["name"], PATHINFO_EXTENSION );
			    $nuevo_nombre = md5( uniqid().$datos_adj["archivo"]["name"]).".".$ext;
			    $form->archivo->addFilter('Rename', array('target'=>$form->archivo->getDestination(). "/{$nuevo_nombre}" ));
			    
			    if ($form->archivo->receive()) {
				     $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
			         $datos_archivo["nombrereal"]   = $datos_adj["archivo"]["name"];
			         $datos_archivo["tipomime"]     = $datos_adj["archivo"]["type"];
			         $datos_archivo["tamano"]       = $datos_adj["archivo"]["size"];
			         $datos_archivo["nombrecodificado"] = $nuevo_nombre;
			         $datos_archivo["codusuario"]   = App_User::getCodigoUsuario();
					 $datos_archivo["tipo"] = $this->_getParam("tipo");

					 $ServiceUsuarios->guardarAdjuntoPar($datos_archivo);
					 $this->view->priorityMessenger("Los datos se han guardado correctamente", "success");
			    }
                } catch (Exception $e) {
				$this->view->priorityMessenger($e->getMessage(), "error");
			}
        }
		$this->_helper->redirector($this->array_tipos[$this->_getParam("tipo")]);
	}
	
    public function eliminaradjuntoparAction() {
        try {
           $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
            $ServiceUsuarios->eliminarAdjuntoPar($this->_getParam("coddocumento"));
            $this->view->priorityMessenger("El archivo se eliminó correctamente", "success");
        } catch(Exception $e) {
            $this->view->priorityMessenger($e->getMessage(), "error");
        }
        $this->_helper->redirector($this->array_tipos[$this->_getParam("tipo")]);
    }
    
	public function guardaridiomaparAction() {
	    $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
        $idiomas = $ServiceUsuarios->getIdiomas();
        $form = new Usuarios_Form_IdiomasPar(array("Idiomas"=>$idiomas));
        
		if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
			try {
			    $datos = $form->getValues ();
			    unset($datos["btnSubmit"]);
                $ServiceUsuarios->guardarIdiomaPar($datos);
				$this->view->priorityMessenger("Los datos se han guardado correctamente", "success");
			} catch (Exception $e) {
				$this->view->priorityMessenger($e->getMessage(), "error");
			}
        } else {
            $form->setStateRedirect();
        }
        $this->_helper->redirector("idiomas");
	}
	
    public function eliminaridiomaparAction() {
        try {
           $ServiceUsuarios = new Usuarios_Model_Usuarios ( );
            $ServiceUsuarios->eliminarIdiomaPar($this->_getParam("codidiomausuario"));
            $this->view->priorityMessenger("El registro se eliminó correctamente", "success");
        } catch(Exception $e) {
            $this->view->priorityMessenger($e->getMessage(), "error");
        }
        $this->_helper->redirector("idiomas");
    }
	
    public function resumenAction() {
    	$ubicacion= new Generales_Model_Ubicaciongeografica();
    	
    	$ubicacion1 = "";
    	if (!empty($this->datos["codubicacion"])){
		    $datosubicacion1= $ubicacion->cargarDatos($this->datos["codubicacion"]);
		    $ubicacion1 =$datosubicacion1["ubicacion"];
		}
		$ubicacion2 = "";
		if (!empty($this->datos["codubicacionnacimiento"])){
		    $datosubicacion2= $ubicacion->cargarDatos($this->datos["codubicacionnacimiento"]);
		    $ubicacion2=$datosubicacion2["ubicacion"];
		}
    	
		$html_personales = "<table width=\"100%\"><tr><th><H1>DATOS PERSONALES</H1></th></tr></table>";
		$html_personales .= "<table  width=\"100%\" border=\"1\">";
		$html_personales .= "<tr><td><b>Identificación:</b></td><td>{$this->datos["cedula"]}</td></tr>";
		$html_personales .= "<tr><td><b>Nombres:</b></td><td>{$this->datos["nombres"]}</td></tr>";
		$html_personales .= "<tr><td><b>Apellidos:</b></td><td>{$this->datos["apellidos"]}</td></tr>";
		$html_personales .= "<tr><td><b>Fecha de nacimiento:</b></td><td>{$this->datos["fechanacimiento"]}</td></tr>";
		$html_personales .= "<tr><td><b>Lugar de nacimiento:</b></td><td>{$ubicacion1}</td></tr>";
		$html_personales .= "<tr><td><b>Celular:</b></td><td>{$this->datos["telefonocelular"]}</td></tr>";
		$html_personales .= "<tr><td><b>Tel. casa:</b></td><td>{$this->datos["telefonoresidencia"]}</td></tr>";
		$html_personales .= "<tr><td><b>Tel. oficina:</b></td><td>{$this->datos["telefonotrabajo"]}</td></tr>";
		$html_personales .= "<tr><td><b>Email 1:</b></td><td>{$this->datos["emailexterno"]}</td></tr>";
		$html_personales .= "<tr><td><b>Email 2:</b></td><td>{$this->datos["emailalterno"]}</td></tr>";
		$html_personales .= "<tr><td><b>Dirección:</b></td><td>{$this->datos["direccionresidencia"]}</td></tr>";
		$html_personales .= "<tr><td><b>Ubicación:</b></td><td>{$ubicacion2}</td></tr>";
		$html_personales .= "</table>";

		$ServiceUsuarios = new Usuarios_Model_Usuarios ( );
		$datos1 = $ServiceUsuarios->getInformacionPar(1,$this->codusuario);
		
		$html_academica = "<table width=\"100%\"><tr><th><H3>No existen datos de Formación Académica registrados.</H3></th></table>";
		if (count($datos1)>0):
			$html_academica = "<table width=\"100%\"><tr><th><H1>Formación Académica</H1></th></table>";
			$html_academica .= "<table width=\"100%\" border=\"1\">";
			$html_academica .= "  <thead>";
			$html_academica .= "    <tr>";
			$html_academica .= "      <th>T&iacute;tulo obtenido</th>";
			$html_academica .= "      <th>Instituci&oacute;n - Nivel acad&eacute;mico</th>";
			$html_academica .= "      <th>Ubicaci&oacute;n</th>";
			$html_academica .= "      <th>Fecha de grado</th>";
			$html_academica .= "    </tr>";
			$html_academica .= "  </thead>";
			$html_academica .= "  <tbody>";
			
			foreach ($datos1 as $index => $value):
				$html_academica .="<tr>";
			    $html_academica .="  <td>{$value["tituloformacion"]}</td>";
			    $html_academica .="  <td>{$value["nombreinstitucion"]}<BR>{$value["nivel"]}</td>";
			    $html_academica .="   <td>{$value["ubicacion"]}</td>";
			    $html_academica .="   <td>{$value["fechaformacion"]}</td>";
			    $html_academica .="</tr>";
		  	endforeach;
			$html_academica .= "  </tbody>";
			$html_academica .= "</table>";
		endif;
		
		$datos2 = $ServiceUsuarios->getInformacionPar(9,$this->codusuario);
		
		$html_eprofesional = "<table width=\"100%\"><tr><th><H3>No existen datos de Ejercicio profesional registrados.</H3></th></table>";
		if (count($datos2)>0):
			$html_eprofesional = "<table width=\"100%\"><tr><th><H1>Ejercicio profesional</H1></th></table>";
			$html_eprofesional .= "<table width=\"100%\" border=\"1\">";
			$html_eprofesional .= "  <thead>";
			$html_eprofesional .= "    <tr>";
			$html_eprofesional .= "      <th>Instituci&oacute;n - Ubicaci&oacute;n</th>";
			$html_eprofesional .= "      <th>Cargo - Dedicaci&oacute;n</th>";
			$html_eprofesional .= "      <th>Ingreso - Retiro</th>";
			$html_eprofesional .= "      <th>Descripci&oacute;n</th>";
			$html_eprofesional .= "    </tr>";
			$html_eprofesional .= "  </thead>";
			$html_eprofesional .= "  <tbody>";
			
			$domConfig = Zend_Registry::get('domConfig');
			
			foreach ($datos2 as $index => $value):
				$html_eprofesional .="<tr>";
			    $html_eprofesional .="  <td>{$value["nombreinstitucion"]}<BR>{$value["ubicacion"]}</td>";
			    $html_eprofesional .="  <td>{$domConfig->TIPODEDICACION->$value["dedicacion"]}</td>";
			    $html_eprofesional .="  <td>{$value["fechaingreso"]} ";
			    $html_eprofesional .= (!empty($value["fecharetiro"]))?$value["fecharetiro"]:"Actualmente";
			    $html_eprofesional .="  </td>";
			    $html_eprofesional .="   <td>{$value["descripcion"]}</td>";
			    $html_eprofesional .="</tr>";
		  	endforeach;
			$html_eprofesional .= "  </tbody>";
			$html_eprofesional .= "</table>";
		endif;
		
		
        $paresPropuestosService = new Visitas_Model_ParesProceso();
        $datos3 = $paresPropuestosService->getHistoricoVisitasPar($this->codusuario);
		
		$html_visita = "<table width=\"100%\"><tr><th><H3>No existen datos de visitas registrados.</H3></th></table>";
		if (count($datos3)>0):
			$html_visita = "<table width=\"100%\"><tr><th><H1>Visitas del par</H1></th></table>";
			$html_visita .= "<table width=\"100%\" border=\"1\">";
			$html_visita .= "  <thead>";
			$html_visita .= "    <tr>";
			$html_visita .= "      <th>C&oacute;digo proceso</th>";
			$html_visita .= "      <th>Nombre del programa</th>";
			$html_visita .= "      <th>Fecha visita</th>";
			$html_visita .= "      <th>Estado actual del proceso</th>";
			$html_visita .= "      <th>Tipo de proceso</th>";
			$html_visita .= "    </tr>";
			$html_visita .= "  </thead>";
			$html_visita .= "  <tbody>";
			
			$domConfig = Zend_Registry::get('domConfig');
			
			foreach ($datos3 as $index => $value):
				$fecha_inicio = new Zend_Date($value["fechainicio"]);
				$fecha_fin = new Zend_Date($value["fechafin"]);
			
				$html_visita .="<tr>";
			    $html_visita .="  <td>{$value["codproceso"]}</td>";
			    $html_visita .="  <td>{$value["nombreprograma"]}</td>";
			    $html_visita .="  <td>{$fecha_inicio->toString($appConfig->fecha_formato_mostrar)} - {$fecha_fin->toString($appConfig->fecha_formato_mostrar)}</td> ";
			    $html_visita .="  <td>{$value["nombreestado"]}</td>";
			    $html_visita .="   <td>{$domConfig->TIPO_SOLICITUD->$value["tipoproceso"]}</td>";
			    $html_visita .="</tr>";
		  	endforeach;
			$html_visita .= "  </tbody>";
			$html_visita .= "</table>";
		endif;
        
		
    	$html_doc  = "{$html_personales}<BR>{$html_academica}<BR>{$html_eprofesional}<BR>{$html_visita}";
		
		$this->_helper->layout->disableLayout();
		$this->_helper->viewRenderer->setNoRender(true);
		$this->getResponse()->clearBody();
		$this->getResponse()->clearAllHeaders();
		$this->getResponse()
		     ->setHeader('Content-Description', 'File Transfer')
		     ->setHeader('Content-Type', 'application/vnd.ms-word')
		     ->setHeader('Content-Disposition', 'attachment; filename="resumenhoja.doc"')
		     ->setHeader('Content-Transfer-Encoding', 'binary')
		     ->setHeader('Expires', '0')
		     ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
		     ->setHeader('Pragma', 'no-cache');
		echo $html_doc;
		
    }
}

